-- card: 25001 from stack: in -- bmap block id: 0 -- flags: 0000 -- background id: 4755 -- name: -- part contents for background part 4 ----- text ----- In fact, the identifier of the array is itself treated as a pointer to the zeroth element of the array (remember array indexing begins with 0). The following are equivalent: f_array and &f_array[0] f_array+1 and &f_array[1] *(f_array+1) and f_array[1] That is, the syntax: name[i] is treated the same as: *(name+i) in C. If f_ptr contains the address of f_array[5], then the following are equivalent: f_ptr[1] and f_array[6] However, an important distinction between an array identifier and a true pointer variable is that the former is a constant address, and cannot have a new value assigned to it: f_array = f_ptr; /* disallowed, since f_array is a pointer constant, not variable */ -- part contents for background part 7 ----- text ----- 61